Paging systems today employ a variety of protocols to uniquely address and transmit data to selective call message receivers. One such protocol is called POCSAG (an acronym for Post Office Code Standardization Advisory Group) in which transmissions are sent out in batches. A POCSAG batch 12, as shown in FIG. 1, consists of eight frames, each frame consisting of two code-words 14-16 (FIG. 2). As shown, transmissions are initiated by broadcasting a preamble 20 which consists of a square wave which has a minimum of 576 reversals. Preamble 20 is followed by a 32 bit synchronization code 18 (a unique 32.21 code-word) which in turn is followed by the eight frames which contain address and message information. Each frame is made up of two 32-bit code-words 14 and 16. As shown in FIG. 2. code words 14 and 16 have slightly different formats depending upon whether they contain an address, identifying which of the two million pagers the message is intended for, or a message. In particular, code-word 14 which contains an address has its most significant bit set to "0" while code-word 16 which contains a message has its most significant bit set to "1."
An advantage of conventional selective call message receivers using the POCSAG protocol is that they do not monitor each frame. Rather, each individual selective call receiver monitors only a predetermined one of the frames, such as frame 3, to save their batteries. Accordingly, after synchronization code 18 (FIG. 1) is received the selective call receiver deactivates its receiver until it is time for frame 3 to be transmitted. For example, when the baud rate is 512 bits per second and each frame takes 121.6 milliseconds the selective call receiver starts monitoring the transmission somewhat before 243.2 milliseconds after the end of synchronization code 18. After monitoring frame 3. the selective call receiver stops monitoring the broadcast until the next synchronization code is broadcast, at which time the cycle starts again. When no message is transmitted in any of the eight frames of a particular batch, an idle code-word is transmitted in each of the two code-words for that frame. This informs the selective call receivers monitoring that frame that no message is being transmitted during that particular batch.
Again referring to FIG. 2, addresses, also known as capcodes, span bits 2-19 of code-word 14 and thus are 18 bits long. Therefore, 2 18 or 262,144 different capcodes are available per frame. Since each selective call receiver only monitors one of the eight frames, each capcode can be used eight times thereby increasing the number of available addresses to over two million.
Amongst several message types, service providers transmit maildrop messages to their subscribers using a standard protocol such as POCSAG mentioned above. Maildrop messages are usually associated with information services, such as stock exchange information, sports scores, news items, weather information, etc. In general, a maildrop message comprises much more information than does an individual message. However, in many instances, maildrop messages are repetitive of a prior maildrop message but for a relatively small portion of changed or new data. In particular, existing maildrop messages include both headers and numerical data together, when in fact from one maildrop to the next only the numerical data changes. For example, when transmitting stock price information, the stock name, year high and year low information will change much less frequently than the stock's current trading price. As other examples, both sports scores and weather maildrop messages comprise, in one part, information that is updated on an infrequent basis such as team names or geographic data. Correspondingly, another part of the maildrop message comprises information that is frequently updated such as team scores and atmospheric conditions. In these examples, although information such as team names or geographic names change on an infrequent basis, the messages are typically retransmitted whenever any part of the message is updated. This is costly in terms of air time and system throughput.
Several prior art methods have attempted to reduce transmission overhead by using forms in the transmission of maildrop type messages. For example, U.S. Pat. No. 5,173,688 issued to DeLuca et al. discloses a method for sending blank forms or tables to a pager which are filled in by subsequent communication or by the user. In general terms, data is divided into fields that contain header information or update information that are separately given protected or unprotected status. In particular, header fields generally contain alphanumeric data such as stock or team names and are given protected status while update fields such as current trading price or scores are given unprotected status. The effect of having "protected status" is that such data is not overwritten by new incoming data. On the other hand, an unprotected field is overwritten by subsequent messages.
Formatting techniques are used to define protected and unprotected fields. Specifically, field titles or designators are periodically transmitted to the selective call receivers. These titles or designators form the protected fields and are semi-permanently stored in the selective call receiver's memory. The data which changes regularly comprises the unprotected fields which are transmitted without designators, each field being separated from the next by only a carriage return symbol. Upon reception of a new message, the pager clears all unprotected fields and inserts the new update data into the unprotected fields and then displays both the protected and unprotected fields at the output of the selective call receiver. However, the reader cannot tell that only the unprotected data was sent, nor how much of the unprotected data has been updated. This approach significantly improves throughput when compared to resending entire messages, but transmits some redundant information.
Another example of sending a blank form is disclosed by Fascenda in U.S. Pat. Nos. 5,241,305 and 5,345,227. As disclosed. Fascenda teaches the use of mask blocks which are set aside for storing eight complete 40 character masks for use when receiving database type messages. Typically, a mask has zeros everywhere but where certain portions of the database are to be updated using a mask fill code-word. Once the mask has been transmitted and stored in a bit-mapped arrangement in the mask blocks and the non-zero portions are filled with individualized information (e.g. stock info, etc.) a mask fill message including a mask fill code word can be transmitted to fill in the non-masked memory locations. In particular, to fill or change the contents of non-masked memory locations, a first code-word including a mask fill command, a mask ID and a database ID is transmitted. Thereafter, a second code-word comprising a start block. (i.e. the starting block number counting from the start of the database) and skip bits, which tell the microprocessor how many blocks are skipped after each mask is filled, is transmitted.
Fascenda discloses yet another way to increase the rate of database transmissions which contain identical information that arises in a recurring pattern in a database. One example would be in a stock database where the words "open," "close," and "high" occur on a regular basis. In this case Fascenda uses a format code-word which includes a format command, a database ID and start block to reproduce identical information in several memory locations without transmitting the identical information several times.
Although DeLuca et al. and Fascenda both disclose ways of transmitting database messages wherein parts of a database are updated on a regular basis, both impose constraints. When masks or forms are used, certain areas of memory automatically become protected or shielded from being updated. Moreover, when using Fascenda's mask method there will always be a finite number of masks available and therefore there is a trade off between reduction of transmission overhead and limiting the number of ways for updating any particular message. Accordingly, there is a present need for a method of transmitting new and updated messages that reduces transmission overhead while retaining the ability of updating any given portion of data contained in memory.